// 项目总入口
package main

import (
	// 加 _ 是表示导入这个包，但是不使用包里面的方法。
	// init是一种特殊的函数，用于在包被导入时执行一次性的初始化操作

	"project/middlewares"
	"project/routers"
	"project/utils/logs"

	"github.com/gin-gonic/gin"
)

func main() {
	// 1. 加载程序的配置
	// 2. 配置gin
	r := gin.Default()
	logs.Info(nil, "程序启动成功")
	// 注册路由
	routers.RegisterRoutes(r)
	r.Use(middlewares.JWTAuth)
	r.Run(":8081")

	// // 测试生成jwt token是否可用
	// ss, _ := jwtutil.GenToken("ddd")
	// fmt.Println("测试是否能生成token: ", ss)

	// // 验证解析token的方法，根据ss生成的放进去匹配看看
	// claims, err := jwtutil.ParseToken("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImJhciIsImlzcyI6ImtvbG9yIiwic3ViIjoiaHdiIiwiZXhwIjoxNzQwMDQ1NTc0LCJuYmYiOjE3MjU0NDU1OTQsImlhdCI6MTcyNTQ0NTU5NH0.PHUJo1EbOsKJfEtbEFx6jXpNZEZz9On9oj0tEjX6Se8")
	// if err != nil {
	// 	// 说明解析失败
	// 	fmt.Println("解析token失败：", err.Error())
	// } else {
	// 	fmt.Println("解析token成功:", claims)
	// }

	// // r.Run(config.Port)
	// fmt.Println("主端口：", config.Port)
	// fmt.Println("config端口:", config.Port, config.JwtExpTime, config.JwtSignKey)

}
